LE PHP


Avant tout sachez que des connaisances en HTML Sont NECESSAIRE a la comprehention de ce tuto ! Je vous invite donc
a lire le tuto "initiation HTML" !

1] PHP ?? KesaKo ???

- Qu'est ce que le PHP ?

Le php est un langage de programmation ! grace a lui vous allez pouvoir
créer des aplication web qui serons repondres a vos attentes, il vas aussi vous permettre de créer des sites dynamique !

- Comment faire pour programmer en php
Alors pour programmer en php il vous faut juste le =>bloc note<= c'est ti pas bo ca ? Pas besoin de ces logiciel payant !
Par contre, pour tester vos pages, vos aurez besoin du logiciel EasyPhp, qui est gratuit ! Faites une recherche sur notre
amis google, vous le trouverez !
Donc vous allez créer vos pages php grace au bloc-note et vous allez pouvoir les "tester" graced a easyPhp avant de les publier sur le woueb!
Parce que comme vous aurez pu le comprendre, le but d'apprendre le PHP est de rendre son site dynamique ! Apres avoir
créer vos application php, vous balancez ca sur votre serveur, et la par contre, vous n'avez QU'a les mettre sur notre serveur !
Pas de logiciel et tout le tralala !

Donc, recapitulons ceux dont vous aurez besoin =>
- EasyPHP
- Bloc note
- Un ordinateur
- Une tete
- au moins une main
- euh... Un corps fonctionel
- ca suffira je pense

Donc installez EasyPhP, et créer un racourci de \Program Files\EasyPHP1-8\www sur votre bureau. Créez dans ce dossier un autre
dossier "Mes test", et c'est dans ce dossier, \Program Files\EasyPHP1-8\www\Mes test, que vous allez mette vos applications
php pour les tester !

Maintenant, shema de ce que vous allez faire pendant tout votre apprentissage du php
Bloc Note => ecriture du code => enregistrer sour NimporteQuelNom.php => deplacer NimporteQuelNom.php dans \Program Files\EasyPHP1-8\www\Mes test

Euh aussi je tien a preciser que ceci est une (longue) initiation au PHP qui aura pour but de vous en apprendre les concepts
fondamentaux, et donc par la meme ocasion les concepts fondamentaux de la programmation !

2] Première application

Vous allez créer votre première application PHP, exitant non ? non ??? bon... o_O
Ouvrez le bloc note et ecrivez les lignes de code suivantes :

<?
echo"bonjour";
?>

et enregistrez sous "CeQueVousVoulez.php" dans le dossier \Program Files\EasyPHP1-8\www\Mes test
Maintenant lancez EasyPHP (demarer>programmes>easy php>easy php), une icone "E" apparait a gauche de l'heure,
faites un clic droit dessus et faites "Web Local", une fenetre apparait alors, cliquez sur "Mes Test", et tada !Vous accedez a votre
application PHP, une fenetre blanche dans laquel est ecrit "bonjour" !
Vous savez maintenant comment tester vos page php, maintenant reste a vous expliquer le code...

<? ?> sont les "balise PHP" ! votre code php sera compris entre ces balise, et comme je vous ai dit tout en haut que des
connaisance en HTML sont necesaire, cela ne vous etone pas qu'il peu y avoir de l'HTML en dehor de ces balise !
regardez l'exemple qui suit !

<HTML>
< HEAD>
< title>ma première page qui comporte du php !!</title>
< /HEAD>
< BODY>
< ?
echo"bonjour";
?>
< /BODY>
< HTML>

Mais ce qui est bizzard, c'est que si vous allez dans affichage => source vous aurez

<HTML>
< HEAD>
< title>ma première page qui comporte du php !!</title>
< /HEAD>
< BODY>
bonjour
< /BODY>
< HTML>

Bizzard non ?? Tout le code php a disparus et a été remplacé par "bonjour" ! Et bien c'est par ce que le code PHP vas etre
" compilé", il vas etre "transformé" en HTML ! Vous me suivez ? Donc le code PHP d'une page ne peuvent etre vus, vu quels sont
transforé en HTML ! Bon point non ? Vous n'avez plus a craidre que l'on copie vos code !

Maintenant qu'est ce que ce
echo"bonjour";
Et bien echo vas permettre d'afficher du texte !

POINT HYPER MEGA IMPORTANT ==> TOUTE LIGNE DE PHP EST SUIVI D'UN POINT VIRGULE !!! (a part quelques exeption que vous verez
plus tard...)

donc la syntaxe de la commande echo est la suivante

echo"VOTRE TEXTE";

Regardez l'exemple qui suit

<HTML>
< HEAD>
< title>ma deuxieme page qui comporte du php !!</title>
< /HEAD>
< BODY>
< ?
echo"bonjour";
echo", comme vous pouvez le voir les deux ligne sont colés !";
echo" Normal vu que le code vas etre transformé en HTML et que pour sauter une lighne il existe une balise ";
echo"<BR> la balise BR"
?>
< /BODY>
< HTML>

Comme vous pouvez le voir on peut meller PHP et HTML ! Pour sauter une ligne je suis bien obligé d'utiliser une balise HTML
ainsi le code compilé sera le suivant =>

<HTML>
< HEAD>
< title>ma deuxieme page qui comporte du php !!</title>
< /HEAD>
< BODY>
bonjour, comme vous pouvez le voir les deux ligne sont colés ! Normal vu que le code vas etre transformé en HTML et que pour sauter une lighne il existe une balise <BR> la balise BR
< /BODY>
< HTML>

Et <BR> permet de sauter une ligne !

3] LES VARIABLES

Les variables, voici un concept essenciel de la programmation. Quelque soit le language,
vous retrouverez les variables .
Alors qu'est-ce ? Et bien je vais vous faire la celebre analogie de la boite !
En fait une variable est une boite, dans laquel je peut mettre tout ce que je veux :
les lettres, des chiffres ...etc. Alors a quoi cela sert il ?

Et bien imaginez, que dans votre programme vous vouliez repeter 10 fois la phrase "bonjour m'sieur dame !" .
Au lieu de repeter 10 fois cette phrase, vous pouvez créer une variable qui s'apellera : "phrase"
et donc au lieu de repeter 10 fois la longue phrase, vous repeterez 10 fois "phrase" .

donc comment créer une variable?

$Nom_De_Ma_Variable = contenu;

exemple :

<?
$message="bonjour";
echo"$bonjour";
?>


Alors, pour les chaine de caractère, on met des "", pour des chiffre, pas besoin, exemple =>
< ?
$message="bonjour";
$nombre=5;
echo"Ca fait $nombre fois que je vous dit $message ! <BR>";
echo"j'en ai marre moi...";
?>

Alors sachez que ce qui a de chiant dans les autre language de programmation, c'est que l'on doit indiquer qu'est-ce que
l'on vas mettre dans la variable (des chiffres ? Une chaine de caractères ? un chiffre a virgule ?) Mais en PHP, bande
de petits veinard, Pas besoin d'indiquer le type de donné que vas contenir la variable !
exemple d'une declaration de variable en VB6 =>

Dim Nom_De_Ma_Variable As Type

En C++ =>

Type Nom_De_La_Var;

Mais sachez qu'il est tout de meme possible d'indiquer le type de donné que l'on vas mettre dans la variable,
On peut FORCER le type. Mais avant tout, regardons un peu les types qu'il y a =>

Integer (ou int) => entier => exemple 25
float => nombre a virgule => 25.32
string => chaine de caract => "J'aime le PHP !!"
Boolean ou bool => bolléen => False ou True (vrai ou faux)

Maintenant, un exemple de Forcing de type :-D
$Nombre_de_testicules="2,5"; // normalement string car ""
$Nombre_de_testicules= (float)$Nombre_de_testicules; // Mais forcing et alors maintenant type => float // normalement du type string(chaine de caractère) car il y a les guillements !
$Nombre_de_testicules= (float)$Nombre_de_testicules; // Mais forcing de type et alors maintenant le type est float
// Soit un chiffre a virgule !

Mais si vous auriez declarer la variable comme ceci
$Nombre_de_testicules=2,5; // Sans les guillementd...
PHP Aurait automatiquement reconu que le type eu été Float !

Maintenant, regardons les mil et une façon d'écrire ilsa en PHP !

$mon_nom="ilsa";
echo"$mon_nom";
//----------------
$mon_nom="il"."sa";
echo"$mon_nom";
//----------------
$mon_nom="il";
$mon_nom.="sa";
echo"$mon_nom";

comme vous pouvez le constater, le point permet d'assembler deux chaine de caractère.
Assemblons roméo et juliette!
< ?
$male = "romeo";
$femelle = "juliette";

$amour = "$male" . " et " . "$femelle"; // Ce qui affichera "roméo et juliette"
// Au passage, ce qui a en dessous est exactement la meme chose que ce qui a au dessus
//Sauf que je n'ai pas mit les variable entre parhenthèse dans l'exemple d'en bas
$amour = $male . " et " . $femelle; // Ce qui affichera "roméo et juliette"
?>

Par contre, ce qui a put vous intriguer, c'est le .=
Regardez les deux exemple d'en dessous et vous comprendrez

$amour = "Roméo et ";
$amour .= "juliette";

CORRESPOND EXACTEMENT A

$amour = "Roméo et ";
$amour = $amour . "juliette";

en fait le .= veut dire "moi meme Et" !


4] Les commentaire

Apprenons ici a mettre de l'odre dans notre code!
En effet certaines commande vous permette d'ajouter des comentaire a votre code
Un exemple suffira pour que vous compreinez, j'en suis sur !

$mon_nom="iLsA";
echo"$mon_nom";// ca va?
// Moi super !

echo"$mon_nom";/* ca va?
Moi super !*/

5] Les operateur de calcul

Maintenant, appresona aditioner, soustraire et tout le tralala MAIS avec des variables !
Un exemple suffira !

$a = 1;
$b = 2;
$c = $a + $b;
echo"$a et $b font $c";


Vous pouvez bien evidement utiliser +, -, *, /, et % (modulo, renvoi le reste de la division)


6] Les guillement

Pourquoi faire un chapitre sur les guillements ? Et bien par ce que

echo"cool";
//correpond a
echo'cool';

Alors quel differences il y a t'il entre "" et '' ??? Nous allons voir ça dans ce chappitre!

Alors, dans les "" comme vous l'avez vu un peu plus haut, il est possible d'afficher des variable =>
$variable="cool non de dieu";
echo"$variable"; // Affichera "cool non de dieu"

Et bien il est absolument IMPOSSIBLE d'afficher des variable entre des ''

$variable="cool non de dieu";
echo'$variable'; // Affichera "$variable"

Alors, je vais vous poser une petite cole...
Comment faire pour afficher les guillement (par exemple les guillement d'une citation (et il dit : "cool")) avec echo
en utilisant ces meme guillements?

Je vous le dit dessuite

echo" et il dit : "cool" ";

est IM-PO-SIBLE ! Il faut trouver un moyen pour faire comprendre a PHP que les guillemet de la citation ce seront pas utilisés
pour leurs utilisation normale !!
Il vous suffit tout simplement pou cela de mettre un anti-slash avant ! ce qui donnera =>
echo" et il dit : \"cool\" "; // Bien entendu les antislash ne seront pas visible quand la page aura été compilé en HTML

de meme avec les guillements simples! Regardez l'exemple qui suit !

echo'ca vas l\'ami ? et l\'boulanger il vas bien ? et l\'automobiliste aussi ?';


7] Parlons maintenant des constante

Les constante sont des sorte de variable dans lesquel il est IMPOSSIBLE de changer la valeur.
Car il est totalement possible de changer la valeur d'une variable normale =>
$parents="papa";
echo"$parents"; // Affiche papa
$parents="maman" // Tout ce qui avait dans $parents a été éffacé et remplacé par maman
echo"parents"; // Affihe maman


Donc, revenons en a nos moutons, il est imposible de changer la valeur d'une constante, alors comment en créer une ?
regardez l'exemple ci desous


< ?
// La syntaxe est
// define('Nom_De_La_Constante', Valeur);

define ('manger', 'je veux manger maman ! On vas au sex shop ?');
define ('PI', 3.1415);
define ('MAIL', 'ilovserraavata@hotmail.com');

echo"ma phrase fetiche est :" . manger;
echo"euh en fait PI vaut aproximativement :" . " " . PI . '<BR>';

echo "mailez moi a cette adresse <A HREF=\"mailto:".MAIL. "\">" . MAIL . "</A>" ;
?>

'zavez vu ?? Pas besoin de "$" pour les constante

8] encore une petite coole

Imaginez que vous avez une variable qui contient votre place au grand prix de forule 1 !
vous allez dire =>
echo"vous ettes $placeEME au grand prix";
Pour afficher par exemple => vous etes 5EME au grand prix

ET BIEN NON !!!! PHP Vas chercher la variable $placeEME et non $place, et comme $placeEME n'existe pas => ERREUR
Alors, zeu soluchioun
echo"vous ettes ${place}EME au grand prix";
Mettre le nom entre crochet !

9] Les tableaux

Les tableaux sont la encore des "types" de variables qui vont permettre de vous ordoner un peu ! Les tableau sont
un concept de la programmation mega important ! Vous les retrouverez partout ! C++, Vb6, C ...etc.
voyons un exemple...

$mon_tableau[]="phrase numero une <BR>";
$mon_tableau[]="phrase numero deux <BR>";

Qu'est ce qui change par rapport a des variable normales ? Et bien juste les crochets ! Alors explication du code...
Avec des variable normales, "phrase numero une <BR>" aurait été ecrasé par "phrase numero deux <BR>" ! Et bien avec des
tableau, ce n'est pas le cas ! Les deux phrases ont étés stoqués dans la variable $mon_tableau[] Mais la première a été
stoqué dans $mon_tableau[0] et la deuxiemme dans $mon_tableau[1] ! Vous ne comprenez pas ? Revoyons un exemple !

$languages_de_programmation[]="PHP";
$languages_de_programmation[]="VB6";
$languages_de_programmation[]="C";
$languages_de_programmation[]="C++";
$languages_de_programmation[]="VB .net";
$languages_de_programmation[]="Delphi";
$languages_de_programmation[]="Q Basic";
$languages_de_programmation[]="VBS";

CORRESPOND EXACTEMENT A

$languages_de_programmation[0]="PHP";
$languages_de_programmation[1]="VB6";
$languages_de_programmation[2]="C";
$languages_de_programmation[3]="C++";
$languages_de_programmation[4]="VB .net";
$languages_de_programmation[5]="Delphi";
$languages_de_programmation[6]="Q Basic";
$languages_de_programmation[7]="VBS";


echo"je programme en $languages_de_programmation[0] et aussi en $languages_de_programmation[1] et plein d'autres...";


Maintenant, voyons les tableau de hachage, c'est exactement la meme chose que ci dessous mais avec une chaine de caractère comme
" indice" (ici les "indices" sont 1,2,3 ... 7)
Un exemple suffira a vous faire comprendre

$caracteristiques['vb6']="Mon tout premier language de programmation !";
$caracteristiques['c++']="mon second, que j'aime beaucoup";
$caracteristiques['action_script']="Ressemble beaucoup a C++";
$caracteristiques['VBS']="ressemble énormément a vb6";

Pratique non ? Maintenant, mellons les deux types de tableaux pour faire un tableau multidimentionel


< ?
$livre[]="Gargentua";
$livre[]="Pantagruel";
$auteur['rabelais']=$livre;
echo "$auteur['rabelais'][0]";
echo "<br>";
echo "$auteur['rabelais'][1]";
?>

ou encore

<?
$livre['premier livre']="Gargentua";
$livre['deuxieme livre']="Pantagruel";
$auteur['rabelais']=$livre;
echo $auteur['rabelais']['premier livre'];
echo "<br>";
echo $auteur['rabelais']['deuxieme livre'];
?>

Enfin, les combinaisons sont infinis !

10] Operateurs en general

Avec pour chacun d'eu un exemple
+
$a = 1 + 1;

-
$a = 10-1;

*
$a = 2 * 2

/
$a= 65/43

%
$a = 65%43

+=
$a = 1
$a += 1 // $a egale 2, a chaque fois qu'il y a un operateur derière un signe egale, sa signifi => Moi meme Operateur(plus, moins...etc.) ce qui vas suivre

-=
$a = 10
$a -= 1 // $a egale 9

*=
$a = 2
$a *= 2 // $a egale 4

/=
$a = 6
$a /= 2 // $a egale 3

%=
$a = 6
$a /= 2 // $a egale 0

.=
// Deja vu !!


Maintenant, voyon les operateur unitaires

$a = 1;
echo ++$a; // affichera 2
echo --$a; // je vous laise deviner...
/ En regle general ++$var; incremente $var d'un, et je vous laisse deviner pour --


11] Get type

Voyons ici comment recuperer le type d'un variable, un exemple suffira pour ce chapitre !

$quoi = 26;
echo "gettype($quoi)"; // affichera "integer"


12] IF

Encore un concept clé de la programmation, les condition !
Ellles vont vous permettre de verifier une condition de de réagir en consequence !
En voici le shema type =>

if(condition) { // Si condition (aau passage, les {} vont delimiter ce qui vas se passer si CONDITION)
//action
}

else { // Autrement
//action
}

Remarquez, pas de point virgule pour les limites (les crochets) des bloc d'instructions !
Alors voyons un petit exemple

if(1==1) {
echo"1 est bien egal a 1 !!!!!!!";
}

else {
echo "un n'est pas egale a un (la condition n'est pas vraie !) (?????)";
}

Alors qu'est ce que ce "==" ? C'est un operateur qui permet de verifier l'égalité ! A NE PAS CONFONDRE AVEC "=" qui lui
permet d'attribuer une valeur !
Voyons un peu les operateur de condition :

== (egaux)
=== (egalité et de meme type)
!= ou <> (diferents)
!== (non identique)
< (inferieur)
> (superieur)
< = (inferieur ou egal)
> = (superieur ou egal)

Revoyons un petit exemple

echo"bonjour ";
if($sexe = "masculin") {
echo"monsieur, comment allez vous ?";
}

else {
echo"madame, comment allez vous?";
}


Comme je sais que vous etes des fan de colle, je vais encore vous en poser une =>
if($variable) {

}
else {
}

que signifi if($variable), sans operateur de conditions ???
ca veut dire si elle vaut "true" (cf type de variable booleens),
si elle existe et qu'elle est differente de 0 ou null ou de "" !
sanchant que 0, "", et null sont (aproximativement) la meme chose => absance de valeur

Et, que signifi if(!$variable), sans operateur de conditions ?
Et bien tout le contraire de ce qui a été énoncé ci dessus ! Comme quoi le "!" est bien utile !


13] SWITCH

Switch vas vous permettre d'eviter de vous casser la tete avec des centaines de conditions !
voyons un exemple

switch ($age) // Pour la variable $age
{
case 4: // Si elle vaut 4
echo"vous avez 4 ans ! bravo"; // On affiche ceci
break; // Puis on sort de switch

case 18: // Si elle vaut 18
echo"vous etes majeur ! cool ca alors !"; // On affiche ceci
break; // Puis on sort de switch
}

CORRESPOND EXACTEMENT A

if($age=4){
echo"vous avez 4 ans ! bravo";
}

if($age=18){
echo"vous etes majeur ! cool ca alors !";
}


SWITCH est donc extremement interessant quand énormément de valeur sont a tester !


14] WHILE

While vas, tout comme if verifier un condition mais vas se repeter jusqu'a que la condition soit vraie !
while est dite "boucle" par le fait que tout ce qui vas etre entre les {} vas se repeter un nombre defini de fois
Voyons la syntaxe

while (expresion est vrai)
{
// action
}


Maintenant, un exemple

<?
$i = 1;
$fin = 10;

while($i<$fin)
{
echo"nous en somme a notre ";
if($i==1) {
echo"${i}er";
}
else {
echo"${i}eme";
}
echo" tour de boucle";
echo"<br>";

$i++;

}
?>

15] DO WHILE


Pareil que while a l'exeption qu'il y a tout d'abord 1 tour de boucle avant de tester condition

<?
$i = 1;
$fin = 10;


do{

echo"nous en somme a notre ";
if($i==1) {
echo"${i}er";
}
else {
echo"${i}eme";
}
echo" tour de boucle";
echo"<br> <br>";

$i++;

} while($i<$fin) ; // NE PAS OUBLIER DE POINT VIRGULE !!! BOUDIOU D'BOUDIOU :-O
?>

16] FOR

for est, tout comme WHILE et DO WHILE une boucle ! Tout ce qui vas etre entre les {]} (==tout le bloc d'instruction) vas se
repeter un nombre defini de fois ! Voyons en la syntaxe =>

for(initialisation ; limite ; incrementation) {
// action
// euh.. Au passage =>limite... tant que la condition est vraie !!
}

Un ch'tit exemple =>

<?
for($intI=0; $intI!=170000; $intI++)
{echo"j'ai lu $intI ligne de la zine de la team Hack Team L !";
echo"<BR>";}
?>

traduison en francais
Alors, Tant que $intI, qui vaut 0 est different de 170000, alors je fait tout ce qui a entre les {]}, et a chaque tour de boucle,
j'incrememnte $intI de 1 !


17] Foreach


ATTENTION ! Foreach N'existe qu'a partir de PHP4. Dans PHP3, ile est remplacé par "each ... list"
Foreach utilisé pour parcourir les tableau et en extraire les clef et les valeurs

<?
$departement=array('01' => 'Ain', '02' => 'Aisne', '03' => 'Allier', '04' => 'Alpes de haut provence', '05' => 'Haute alpes', '06' => 'alpes maritines', '07' => 'Ardèches', '08' => 'Ardennes', '09' => 'Ariège', '10' => 'Aube');
// Voici ici une nouvelle façon de declarer un tableau !
// En regle general :
// $var = array('Indice' => Valeur, ...etc.)

$i = 0;
foreach($departement as $clef=>$valeur){ // On vas parcourir les indices (= clef) et les valeur du tableau $departement
// Les indices seront stoqués dans "$clef" et les valeur dans "$valeur"
++$i;

echo "${i}) Le departement numero : $clef s'apelle $valeur <BR>\n";
}
?>

on peu donner n'importe quel nom a $clef et $valeur, foreach vas juste se charger de les remplir!
On a aussi la possibilité de parcourir juste les valeur d'un avec
foreach($departement as $valeur_ta_soeur){}

Voyons maintenant l'équivalant mais pour PHP3 !

~~~~~~~~~~~E~A~C~H~~~~L~I~S~T~~~~~~~~~~~
~~~~~~~~~~~ ~ ~ ~ ~ ~ ~ ~~~~~~~~~~~

While(list($clef, $valeur)=each($departement)){
++$i;

echo "${i}) Le departement numero : $clef s'apelle $valeur <BR>\n";
}
// Et pour parcourir juste les valeur =>

While(list(, $valeur)=each($departement)){
echo "$valeur youpi !!<BR>\n";
}

Ce sera tout pour cette initiation ! La suite au prochaine episode !